package com.pxmeta.product.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.pxmeta.party.entity.dto.AddDecorationDTO;
import com.pxmeta.product.entity.Shop;
import com.pxmeta.product.entity.UserShop;

import java.util.List;

public interface IShopService extends IService<Shop> {
    /**
     * 购买
     * @param userId
     * @param shopId
     * @param days
     */
    void buy(Long userId, Long shopId, Integer days);

    /**
     * 使用
     * @param userId
     * @param shopId
     */
    void useDecoration(Long userId, Long shopId);

    /**
     * 获取用户装饰
     * @param userId
     * @param type
     * @return
     */
    List<Shop> getUserDecoration(Long userId, Integer type, Boolean isUse);


    /**
     * 获取用户使用中的装饰
     * @param userId
     * @return
     */
    List<Shop> getUserUsedDecoration(Long userId);

    void nonuseDecoration(Long userId, Integer type);

    /**
     * 根据类型获取商城装扮
     * @param type
     * @return
     */
    List<Shop> getDecorationByType(Long userId, Integer category, Integer type);


    /**
     * 获取装扮列表
     * @param page
     * @param size
     * @param category
     * @return
     */
    IPage<Shop> getDecorationList(Integer page, Integer size, Integer category);


    /**
     * 添加装扮
     * @param dto
     */
    void addDecoration(AddDecorationDTO dto);
}
